import {login} from '../api/user'
import router from '../router/index'

export default {
    namespaced:true,//开启命名空间
    state:()=>({
        userInfo:null
    }),
    mutations:{
        infoMut(state,obj){  // 登录,退出
            state.userInfo = obj //向状态机缓存用户信息，为了实时跨组件同步共享用户信息
            if(obj){ //如果obj为null表示退出，不是表示登录
                localStorage.setItem('userInfo',JSON.stringify(obj))//本地缓存用户信息，持久缓存
            }else{
                localStorage.removeItem('userInfo')
                router.push('/login')
            }
        }
    },
    actions:{  //异步actions，让状态机拥有请求异步接口的能力
        loginAct(context,obj){
            login(obj).then(res=>{
                console.log("状态机",res)
                context.commit('infoMut',res.data.data)
                let {code} = res.data
                console.log(code)
                if(code===101){
                    router.push('/personal') // 登录成功后跳到首页
                }
            })
        }
    }
}

